705 research outputs found
A modelling language for the effective design of Java annotations
This paper describes a new modelling language for the ef-
fective design of Java annotations. Since their inclusion in
the 5th edition of Java, annotations have grown from a use-
ful tool for the addition of meta-data to play a central role
in many popular software projects. Usually they are con-
ceived as sets with dependency and integrity constraints
within them; however, the native support provided by Java
for expressing this design is very limited.
To overcome its deficiencies and make explicit the rich
conceptual model which lies behind a set of annotations, we
propose a domain-specific modelling language.
The proposal has been implemented as an Eclipse plug-
in, including an editor and an integrated code generator that
synthesises annotation processors. The language has been
tested using a real set of annotations from the Java Per-
sistence API (JPA). It has proven to cover a greater scope
with respect to other related work in diferent shared areas
of application
Ann: a domain-specific language for the effective design and validation of Java annotations
This paper describes a new modelling language for the effective design and validation of
Java annotations. Since their inclusion in the 5th edition of Java, annotations have grown
from a useful tool for the addition of meta-data to play a central role in many popular
software projects. Usually they are not conceived in isolation, but in groups, with
dependency and integrity constraints between them. However, the native support provided by Java for expressing this design is very limited.
To over
come
its
deficiencies
and
make
explicit
the
rich
conceptual model which lies
behind a set of annotations,we propose a domain-specific modelling language.The proposal has been implemented as an Eclipse plug-in, including an editor and an integrated
code generator that synthesises annotation processors. The environmental so integrates a model finder,able to detectun satisfiable constraints between different annotations, and to provide examples of correct annotation usages for validation. The language has been tested
using a real set of annotations from the Java Persistence API(JPA).Within this subset we have found enough rich semantics expressible with Ann and omitted nowadays by the Java language, which shows the benefits of Ann in are levant field of application
A UML/OCL framework for the analysis of fraph transformation rules
In this paper we present an approach for the analysis of graph transformation rules based on an intermediate OCL representation. We translate different rule semantics into OCL, together with the properties of interest (like rule applicability, conflicts or independence). The intermediate representation serves three purposes: (i) it allows the seamless integration of graph transformation rules with the MOF and OCL standards, and enables taking the meta-model and its OCL constraints (i.e. well-formedness rules) into account when verifying the correctness of the rules; (ii) it permits the interoperability of graph transformation concepts with a number of standards-based model-driven development tools; and (iii) it makes available a plethora of OCL tools to actually perform the rule analysis. This approach is especially useful to analyse the operational semantics of Domain Specific Visual Languages. We have automated these ideas by providing designers with tools for the graphical specification and analysis of graph transformation rules, including a backannotation mechanism that presents the analysis results in terms of the original language notation
Facet-oriented Modelling
© ACM 2021. This is the author's version of the work. It is posted here for your personal use. Not for redistribution. The definitive Version of Record was published in ACM Transactions on Software Engineering and Methodology, http://dx.doi.org/10.1145/10.1145/3428076Models are the central assets in model-driven engineering (MDE), as they are actively used in all phases
of software development. Models are built using metamodel-based languages, and so objects in models are
typed by a metamodel class. This typing is static, established at creation time, and cannot be changed later.
Therefore, objects in MDE are closed and fixed with respect to the class they conform to, the fields they
have, and the well-formedness constraints they must comply with. This hampers many MDE activities, like
the reuse of model-related artefacts such as transformations, the opportunistic or dynamic combination of
metamodels, or the dynamic reconfiguration of models.
To alleviate this rigidity, we propose making model objects open so that they can acquire or drop so-called
facets. These contribute with a type, fields and constraints to the objects holding them. Facets are defined by
regular metamodels, hence being a lightweight extension of standard metamodelling. Facet metamodels may
declare usage interfaces, as well as laws that govern the assignment of facets to objects (or classes).
This article describes our proposal, reporting on a theory, analysis techniques, and an implementation.
The benefits of the approach are validated on the basis of five case studies dealing with annotation models,
transformation reuse, multi-view modelling, multi-level modelling, and language product linesWork partially funded by the R&D programme of the Madrid Region (project FORTE, S2018/TCS-4314) and the Spanish
Ministry of Science (project MASSIVE, RTI2018-095255-B-I00
Wodel-Edu: a tool for the generation and evaluation of diagram-based exercises
Creating and grading exercises are recurring tasks within higher education. When these exercises are based on diagrams – like logic circuits, automata or class diagrams – we can represent them as models, and use model-driven engineering techniques for the large-scale generation of quizzes, which can be automatically graded. This way, we propose a domain-independent tool for the generation and automated evaluation of diagram-based exercises called WODEL-EDU. WODEL-EDU is built atop WODEL, an extensible tool for model mutation, and offers seven kinds of diagram exercises. It supports code generation from the exercises for the MOODLE platform, the web, ANDROID and IOS applications. Evaluations from the professor and student perspectives show good resultsSpecial gratitude to Andrés Rico-Fernández and Jaime Velázquez Pazos for their help with the WODEL-EDU implementation, building the code generators for the ANDROID and IOS exercises applications, respectively, and to all participants in the
evaluation. Project partially funded by the Spanish MICINN (PID2021-122270OB-I00, TED2021-129381B-C21
Automated generation and correction of diagram-based exercises for Moodle
One of the most time‐consuming task for teachers is creating and
correcting exercises to evaluate students. This is normally performed by
hand, which incurs high time costs and is error‐prone. A way to alleviate
this problem is to provide an assistant tool that automates such tasks. In
the case of exercises based on diagrams, they can be represented as models
to enable their automated model‐based generation for any target
environment, like web or mobile applications, or learning platforms like
MOODLE. In this paper, we propose an automated process for synthesizing
five types of diagram‐based exercises for the MOODLE platform. Being
model‐based, our solution is domain‐agnostic (i.e., it can be applied to
arbitrary domains like automata, electronics, or software design). We
report on its use within a university course on automata theory, as well as
evaluations of generality, effectiveness and efficiency, illustrating the
benefits of our approachComunidad de Madrid,
Grant/Award Number: S2018/TCS‐4314;
Ministerio de Ciencia e Innovación,
Grant/Award Numbers: PID2021‐
122270OB‐I00, TED2021‐129381B‐C2
Property Satisfiability Analysis for Product Lines of Modelling Languages
© 2022 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.Software engineering uses models throughout most phases of the development process. Models are defined using modelling languages. To make these languages applicable to a wider set of scenarios and customizable to specific needs, researchers have proposed using product lines to specify modelling language variants. However, there is currently a lack of efficient techniques for ensuring correctness with respect to properties of the models accepted by a set of language variants. This may prevent detecting problematic combinations of language variants that produce undesired effects at the model level. To attack this problem, we first present a classification of instantiability properties for language product lines. Then, we propose a novel approach to lifting the satisfiability checking of model properties of individual language variants, to the product line level. Finally, we report on an implementation of our proposal in the Merlin tool, and demonstrate the efficiency gains of our lifted analysis method compared to an enumerative analysis of each individual language variantThis work has been funded by the Spanish Ministry of Science (RTI2018-095255-B-I00), the R&D programme of
Madrid (P2018/TCS-4314), and by NSERC. We thank the anonymous referees for their useful comment
MT-EA4Cloud: A Methodology For testing and optimising energy-aware cloud systems
Currently, using conventional techniques for checking and optimising the energy consumption in cloud systems is unpractical, due to the massive computational resources required. An appropriate test suite focusing on the parts of the cloud to be tested must be efficiently synthesised and executed, while the correctness of the test results must be checked. Additionally, alternative cloud configurations that optimise the energetic consumption of the cloud must be generated and analysed accordingly, which is challenging. To solve these issues we present MT-EA4Cloud, a formal approach to check the correctness – from an energy-aware point of view – of cloud systems and optimise their energy consumption. To make the checking of energy consumption practical, MT-EA4Cloud combines metamorphic testing, evolutionary algorithms and simulation. Metamorphic testing allows to formally model the underlying cloud infrastructure in the form of metamorphic relations. We use metamorphic testing to alleviate both the reliable test set problem, generating appropriate test suites focused on the features reflected in the metamorphic relations, and the oracle problem, using the metamorphic relations to check the generated results automatically. MT-EA4Cloud uses evolutionary algorithms to efficiently guide the search for optimising the energetic consumption of cloud systems, which can be calculated using different cloud simulatorsThis work was supported by the Spanish MINECO/FEDER projects DArDOS, FAME and MASSIVE under Grants TIN2015-65845-C3-1-R, RTI2018-093608-B-C31 and RTI2018-095255- B-I00, and the Comunidad de Madrid project FORTE-CM under grant S2018/TCS-4314. The first author is also supported by the Universidad Complutense de Madrid Santander Universidades grant (CT17/17-CT18/17
Extensible Structural Analysis of Petri Net Product Lines
Petri nets are a popular formalism to represent concurrent
systems. However, their standard form does not o er variability support
to model and e ectively analyse large sets of variants of a given system.
For this purpose, we propose a notion of product line of Petri nets
to represent a set of similar concurrent systems. The formalization enriches
Petri nets with a feature model characterizing the variability of
the systems. Moreover, places, transitions and arcs can de ne presence
conditions that determine the subset of system variants they belong to.
To enable an e cient analysis of the set of all net variants, we have
lifted several structural analysis methods for Petri nets, to the product
line level. Currently, we support the lifted checking of the marked graph,
state-machine, and (extended) free-choice properties, which avoids their
analysis on each particular net of the product line in isolation.
We demonstrate the feasibility of our proposal using examples in the
domain of
exible assembly lines, and introduce an extensible tool infrastructure.
The tool is based on Eclipse and FeatureIDE, and permits
adding new analysis methods externally. Moreover, we present an evaluation
that shows the e ciency gains of our method with respect to an
enumerative approach that analyses the properties on every net within
the product line separately.Work funded by the Spanish Ministry of Science (RTI2018-095255-B-I00) and the R&D programme of Madrid (P2018/TCS-4314)
Automated migration of EuGENia graphical editors to the web
© ACM 2020. This is the author's version of the work. It is posted here for your personal use. Not for redistribution. The definitive Version of Record was published in Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, http://dx.doi.org/10.1145/10.1145/3417990.3420205Domain-specific languages (DSLs) are languages tailored for particular domains. Many frameworks and tools have been proposed to develop editors for DSLs, especially for desktop IDEs, like Eclipse. We are witnessing the advent of low-code development platforms, which are cloud-based environments supporting rapid application development by using graphical languages and forms. While this approach is very promising, the creation of new low-code platforms may require the migration of existing desktop-based editors to the web. However, this is a technically challenging task. To fill this gap, we present ROCCO, a tool that migrates Eclipse-based graphical modelling editors to the web, to facilitate their integration with low-code platforms. The tool reads a meta-model annotated with EuGENia annotations, and generates a web editor using the DPG web framework used by the UGROUND company. In this paper, we present the approach, including tool support and an evaluation based on migrating nine editors created by third parties, which shows the usefulness of the toolThis project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie
Skłodowska-Curie grant agreement n° 813884, Lowcomote [33]. The work has also been supported by the Spanish Ministry of
Science (project MASSIVE, RTI2018-095255-B-I00) and the R&D programme of Madrid (project FORTE, P2018/TCS-4314
- …